package main

import "fmt"

func removeDuplicates(nums []int) int {
	j := len(nums)
	if j > 1 {
		j = 1
		for i := 1; i < len(nums); i++ {
			if nums[i] == nums[i-1] {
				continue
			} else {
				nums[j] = nums[i]
				fmt.Println(nums)
				j++
			}
		}
	}
	fmt.Println(nums)
	return j

}

func main() {
	nums := []int{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4}
	num := removeDuplicates(nums)
	fmt.Println(nums)
	fmt.Println(num)
}

/**
题解:
获取数组长度 j 如果大于1 那么这个数组就 第0位就是原数组的第0位
定义 当前可获取到的长度为1 变量J

从1位开始遍历数组
第一次遍历
如果 第1位不等于0位 那么 被修改后的数组的第1位就是当前第一位
j加1 因为长度变了

第二次遍历
如果 第2位等于1位 那么 当前这次跳过 j不变
如果 第2位不等于1位 那么 被修改后的数组的第2位就是当前第2位  j加1 因为长度变了


这样就可以得出一个公式

if n == n-1 {跳过}else{j++}
*/
